﻿using System;

namespace Pap.Data
{
    /// <summary>
    /// 
    /// </summary>
    public partial class VTotalSystemReport : IVTotalSystemReport, IEquatable<VTotalSystemReport>
    {
        /// <summary>
        /// Gets or sets the type of the customer.
        /// </summary>
        /// <value>
        /// The type of the customer.
        /// </value>
        int IVTotalSystemReport.CustomerType
        {
            get
            {
                return CustomerType;
            }
            set
            {
                CustomerType = value;
            }
        }

        /// <summary>
        /// Gets or sets the educational level ID.
        /// </summary>
        /// <value>
        /// The educational level ID.
        /// </value>
        Guid IVTotalSystemReport.EducationalLevelID
        {
            get
            {
                return EducationalLevelID;
            }
            set
            {
                EducationalLevelID = value;
            }
        }

        /// <summary>
        /// Gets or sets the project ID.
        /// </summary>
        /// <value>
        /// The project ID.
        /// </value>
        Guid IVTotalSystemReport.ProjectID
        {
            get
            {
                return ProjectID;
            }
            set
            {
                ProjectID = value;
            }
        }

        /// <summary>
        /// Gets or sets the stage.
        /// </summary>
        /// <value>
        /// The stage.
        /// </value>
        int IVTotalSystemReport.Stage
        {
            get
            {
                return Stage;
            }
            set
            {
                Stage = value;
            }
        }

        /// <summary>
        /// Gets or sets the military status ID.
        /// </summary>
        /// <value>
        /// The military status ID.
        /// </value>
        Guid IVTotalSystemReport.MilitaryStatusID
        {
            get
            {
                return MilitaryStatusID;
            }
            set
            {
                MilitaryStatusID = value;
            }
        }

        /// <summary>
        /// Gets or sets the social status ID.
        /// </summary>
        /// <value>
        /// The social status ID.
        /// </value>
        Guid IVTotalSystemReport.SocialStatusID
        {
            get
            {
                return SocialStatusID;
            }
            set
            {
                SocialStatusID = value;
            }
        }

        /// <summary>
        /// Gets or sets the customer age.
        /// </summary>
        /// <value>
        /// The customer age.
        /// </value>
        int? IVTotalSystemReport.CustomerAge
        {
            get
            {
                return CustomerAge;
            }
            set
            {
                CustomerAge = value;
            }
        }

        /// <summary>
        /// Gets or sets the current job.
        /// </summary>
        /// <value>
        /// The current job.
        /// </value>
        string IVTotalSystemReport.CurrentJob
        {
            get
            {
                return CurrentJob;
            }
            set
            {
                CurrentJob = value;
            }
        }

        /// <summary>
        /// Gets or sets the family numbers.
        /// </summary>
        /// <value>
        /// The family numbers.
        /// </value>
        int IVTotalSystemReport.FamilyNumbers
        {
            get
            {
                return FamilyNumbers;
            }
            set
            {
                FamilyNumbers = value;
            }
        }

        /// <summary>
        /// Gets or sets the income amount.
        /// </summary>
        /// <value>
        /// The income amount.
        /// </value>
        double IVTotalSystemReport.IncomeAmount
        {
            get
            {
                return IncomeAmount;
            }
            set
            {
                IncomeAmount = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan type ID.
        /// </summary>
        /// <value>
        /// The loan type ID.
        /// </value>
        Guid IVTotalSystemReport.LoanTypeID
        {
            get
            {
                return LoanTypeID;
            }
            set
            {
                LoanTypeID = value;
            }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [loan status].
        /// </summary>
        /// <value>
        ///   <c>true</c> if [loan status]; otherwise, <c>false</c>.
        /// </value>
        bool IVTotalSystemReport.LoanStatus
        {
            get
            {
                return LoanStatus;
            }
            set
            {
                LoanStatus = value;
            }
        }

        /// <summary>
        /// Gets or sets the legal form ID.
        /// </summary>
        /// <value>
        /// The legal form ID.
        /// </value>
        Guid IVTotalSystemReport.LegalFormID
        {
            get
            {
                return LegalFormID;
            }
            set
            {
                LegalFormID = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan place type ID.
        /// </summary>
        /// <value>
        /// The loan place type ID.
        /// </value>
        Guid IVTotalSystemReport.LoanPlaceTypeID
        {
            get
            {
                return LoanPlaceTypeID;
            }
            set
            {
                LoanPlaceTypeID = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan current step.
        /// </summary>
        /// <value>
        /// The loan current step.
        /// </value>
        Guid? IVTotalSystemReport.LoanCurrentStep
        {
            get
            {
                return LoanCurrentStep;
            }
            set
            {
                LoanCurrentStep = value;
            }
        }

        /// <summary>
        /// Gets or sets the execution amount.
        /// </summary>
        /// <value>
        /// The execution amount.
        /// </value>
        double IVTotalSystemReport.ExecutionAmount
        {
            get
            {
                return ExecutionAmount;
            }
            set
            {
                ExecutionAmount = value;
            }
        }

        /// <summary>
        /// Gets or sets the execution date.
        /// </summary>
        /// <value>
        /// The execution date.
        /// </value>
        DateTime IVTotalSystemReport.ExecutionDate
        {
            get
            {
                return ExecutionDate;
            }
            set
            {
                ExecutionDate = value;
            }
        }

        /// <summary>
        /// Gets or sets the last installment date.
        /// </summary>
        /// <value>
        /// The last installment date.
        /// </value>
        DateTime? IVTotalSystemReport.LastInstallmentDate
        {
            get
            {
                return LastInstallmentDate;
            }
            set
            {
                LastInstallmentDate = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan created date.
        /// </summary>
        /// <value>
        /// The loan created date.
        /// </value>
        DateTime IVTotalSystemReport.LoanCreatedDate
        {
            get
            {
                return LoanCreatedDate;
            }
            set
            {
                LoanCreatedDate = value;
            }
        }

        /// <summary>
        /// Gets or sets the action type ID.
        /// </summary>
        /// <value>
        /// The action type ID.
        /// </value>
        Guid? IVTotalSystemReport.ActionTypeID
        {
            get
            {
                return ActionTypeID;
            }
            set
            {
                ActionTypeID = value;
            }
        }

        /// <summary>
        /// Gets or sets the comments.
        /// </summary>
        /// <value>
        /// The comments.
        /// </value>
        string IVTotalSystemReport.Comments
        {
            get
            {
                return Comments;
            }
            set
            {
                Comments = value;
            }
        }

        /// <summary>
        /// Gets or sets the step ID.
        /// </summary>
        /// <value>
        /// The step ID.
        /// </value>
        Guid? IVTotalSystemReport.StepID
        {
            get
            {
                return StepID;
            }
            set
            {
                StepID = value;
            }
        }

        /// <summary>
        /// Gets or sets the board date.
        /// </summary>
        /// <value>
        /// The board date.
        /// </value>
        DateTime IVTotalSystemReport.BoardDate
        {
            get
            {
                return BoardDate;
            }
            set
            {
                BoardDate = value;
            }
        }

        /// <summary>
        /// Gets or sets the board number.
        /// </summary>
        /// <value>
        /// The board number.
        /// </value>
        int IVTotalSystemReport.BoardNumber
        {
            get
            {
                return BoardNumber;
            }
            set
            {
                BoardNumber = value;
            }
        }

        /// <summary>
        /// Gets or sets the board decision.
        /// </summary>
        /// <value>
        /// The board decision.
        /// </value>
        string IVTotalSystemReport.BoardDecision
        {
            get
            {
                return BoardDecision;
            }
            set
            {
                BoardDecision = value;
            }
        }

        /// <summary>
        /// Gets or sets the committee ID.
        /// </summary>
        /// <value>
        /// The committee ID.
        /// </value>
        Guid IVTotalSystemReport.CommitteeID
        {
            get
            {
                return CommitteeID;
            }
            set
            {
                CommitteeID = value;
            }
        }

        /// <summary>
        /// Gets or sets the responsible ID.
        /// </summary>
        /// <value>
        /// The responsible ID.
        /// </value>
        Guid IVTotalSystemReport.ResponsibleID
        {
            get
            {
                return ResponsibleID;
            }
            set
            {
                ResponsibleID = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan number.
        /// </summary>
        /// <value>
        /// The loan number.
        /// </value>
        int IVTotalSystemReport.LoanNumber
        {
            get
            {
                return LoanNumber;
            }
            set
            {
                LoanNumber = value;
            }
        }

        /// <summary>
        /// Gets or sets the name of the customer.
        /// </summary>
        /// <value>
        /// The name of the customer.
        /// </value>
        string IVTotalSystemReport.CustomerName
        {
            get
            {
                return CustomerName;
            }
            set
            {
                CustomerName = value;
            }
        }

        /// <summary>
        /// Gets or sets the SSN.
        /// </summary>
        /// <value>
        /// The SSN.
        /// </value>
        string IVTotalSystemReport.SSN
        {
            get
            {
                return SSN;
            }
            set
            {
                SSN = value;
            }
        }

        /// <summary>
        /// Gets or sets the name of the loan.
        /// </summary>
        /// <value>
        /// The name of the loan.
        /// </value>
        string IVTotalSystemReport.LoanName
        {
            get
            {
                return LoanName;
            }
            set
            {
                LoanName = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan amount.
        /// </summary>
        /// <value>
        /// The loan amount.
        /// </value>
        double IVTotalSystemReport.LoanAmount
        {
            get
            {
                return LoanAmount;
            }
            set
            {
                LoanAmount = value;
            }
        }

        /// <summary>
        /// Gets or sets the loan payment period.
        /// </summary>
        /// <value>
        /// The loan payment period.
        /// </value>
        int IVTotalSystemReport.LoanPaymentPeriod
        {
            get
            {
                return LoanPaymentPeriod;
            }
            set
            {
                LoanPaymentPeriod = value;
            }
        }

        /// <summary>
        /// Gets or sets the due amount.
        /// </summary>
        /// <value>
        /// The due amount.
        /// </value>
        double? IVTotalSystemReport.DueAmount
        {
            get
            {
                return DueAmount;
            }
            set
            {
                DueAmount = value;
            }
        }

        /// <summary>
        /// Gets or sets the name of the loan payment method.
        /// </summary>
        /// <value>
        /// The name of the loan payment method.
        /// </value>
        string IVTotalSystemReport.LoanPaymentMethodName
        {
            get
            {
                return LoanPaymentMethodName;
            }
            set
            {
                LoanPaymentMethodName = value;
            }
        }

        /// <summary>
        /// Indicates whether the current object is equal to another object of the same type.
        /// </summary>
        /// <param name="other">An object to compare with this object.</param>
        /// <returns>
        /// true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
        /// </returns>
        public bool Equals(VTotalSystemReport other)
        {
            if (this.LoanNumber == other.LoanNumber
                && this.CustomerName == other.CustomerName
                && this.SSN == other.SSN
                && this.LoanName == other.LoanName
                && this.LoanAmount == other.LoanAmount
                && this.LoanPaymentPeriod == other.LoanPaymentPeriod
                && this.DueAmount == other.DueAmount
                && this.LoanPaymentMethodName == other.LoanPaymentMethodName)
            {
                return true;
            }
            else
                return false;
        }


        /// <summary>
        /// Gets or sets the loan paid amount.
        /// </summary>
        /// <value>
        /// The loan paid amount.
        /// </value>
        double? IVTotalSystemReport.LoanPaidAmount
        {
            get
            {
                return LoanPaidAmount;
            }
            set
            {
                LoanPaidAmount = value;
            }
        }
    }
}
